1. Field of the Invention
The present invention relates to routing traffic between LAN bridges.
2. The Prior Art
Local area networks (LANs) are typically configured using a plurality of interconnected multi-port bridges. Through the use of these interconnected bridges, a potential exists that a xe2x80x9cloopxe2x80x9d will form, in which traffic will flow endlessly. To avoid this problem, human operators may verify that no loops are created when these bridges are connected. However, to reduce the potential for human error and to simplify this verification process, some networks use a Spanning Tree Protocol (STP).
The Spanning Tree Protocol is a topology reduction technique which consists of two steps. First, a xe2x80x9crootxe2x80x9d bridge is selected which is logically made the center of the network. Second, each remaining bridge determines through which of its ports lies the optimal path to the root. This optimal path is determined according to static path costs. Ports which lead to the root, but which are not optimal, are blocked, thus eliminating all loops. All remaining ports remain active, allowing forwarding of traffic on these connections. Thus, a xe2x80x9cspanning treexe2x80x9d is created in which every pair of points in the network is connected via one, and only one unblocked path.
Although the Spanning Tree Protocol is in wide use today, the protocol has several distinct disadvantages. First, in response to a topology change in the network, the Spanning Tree Protocol must perform a reconfiguration, negotiating among all participating devices to determine which ports to block. This process can last approximately 30-60 seconds for an ordinary sized network. During this time, newly active ports are not yet enabled for forwarding. As a result, protocol timeouts may occur before a new link is enabled. Moreover, learned addresses are quickly discarded during the reconfiguration, to be relearned appropriate to the new topology. Flooding of unknown destination traffic before a new link is established or prior to relearning can substantially decrease the performance of the network. Second, the Spanning Tree Protocol, in eliminating loops, creates a number of blocked ports. Since these blocked ports carry no traffic, the Spanning Tree Protocol substantially reduces the number of bridge connections in use. As a result, network traffic is sent along a limited number of bridge connections. Third, the Spanning Tree Protocol is designed to select an optimal path to a root bridge from each other bridge in the network, rather than selecting an optimal path between end systems. Therefore, efficiency resulting from the use of the Spanning Tree Protocol reduced topology can be far from optimal.
It would be desirable to provide a mechanism to provide for use of blocked links. Two such mechanisms exist. First, a Dynamic Load Sharing protocol is disclosed in U.S. Pat. No. 4,811,337. Second, a Generalized Dynamic Load Sharing protocol is disclosed in U.S. Pat. No. 5,150,360.
According to the Dynamic Load Sharing protocol, a blocked link may be used if four requirements are satisfied. First, the blocked link must be a point-to-point connection between two bridges running the Dynamic Load Sharing protocol. Second, the Spanning Tree Protocol active path between the two bridges must pass through the root bridge. Third, the root bridge must run the Dynamic Load Sharing protocol. Fourth, the Spanning Tree Protocol cost between the two bridges must be greater than the direct Dynamic Load Sharing protocol link cost.
The Dynamic Load Sharing protocol forwards traffic to the blocked link under limited conditions. First, the traffic must arrive from xe2x80x9cbelowxe2x80x9d one of the two bridges according to the spanning tree, with the root bridge located at the top of the spanning tree. Second, the traffic must be destined to a station xe2x80x9cbelowxe2x80x9d the other of the two bridges. Therefore, the Dynamic Load Sharing protocol unnecessarily limits the blocked paths which can be used. Similarly, the effectiveness of the protocol relies upon the selection of a root bridge.
According to the Generalized Dynamic Load Sharing protocol, a blocked link may be used if the link is a point-to-point connection between two bridges running the Generalized Dynamic Load Sharing protocol. Traffic is forwarded across a blocked link upon a dynamic load balancing through an exchange of packets. Frames are sent on both the Generalized Dynamic Load Sharing link and the Spanning Tree Protocol link. Traffic is then sent along the link determined to be the fastest link. In this manner, traffic is dynamically reallocated through the shifting of addresses, unlike the Dynamic Load Sharing Protocol. Moreover, the need for a third bridge, such as the root bridge used in the Dynamic Load Sharing Protocol, is removed. However, two significant drawbacks exist with the Generalized Dynamic Load Sharing Protocol. First, determination of the fastest link through the sending of traffic is difficult to determine in high speed, bursty load environments. Second, the movement of addresses from one link to another creates a high risk of misordering frames.
Accordingly, it would be desirable to provide a method and system for using blocked links through a more reliable link determination mechanism, and a more reliable method for exchanging addresses. These advantages are achieved in an embodiment of the invention in which address tables are maintained for each bridge, and in which the fastest link is determined based upon port cost.
The present invention provides a method and system for utilizing ports blocked by the Spanning Tree Protocol. According to a first aspect of the present invention, a method for determining which blocked links may be used including two steps. First, the blocked link must be a point-to-point connection between two bridges running shortcut trunking. A point-to-point connection might be indicated by a full-duplex connection between bridges. A point-to-point connection is a connection in which two bridges are direct neighbors and which have no intervening bridges. A full-duplex connection is one on which traffic may be passed in both directions simultaneously. This ensures that no loops will be created through intervening shared media. Second, on at least one of the two bridges, the port cost of the blocked link must be of equal or lower cost than the cost of the unblocked port linking the two devices via the STP reduced topology. This guarantees that the selected blocked link is not more expensive than the path through the Spanning Tree Protocol path.
According to a second aspect of the present invention, a method for determining which traffic may be forwarded across the blocked link includes several steps. First, each bridge builds a shortcut address list including each unicast address xe2x80x9coutsidexe2x80x9d the bridge, relative to the shortcut and the active STP path between the two bridges. Second, the address lists are exchanged. Third, each bridge compares traffic arriving from xe2x80x9coutsidexe2x80x9d to determine if the destination is on the shortcut list received from the other bridge. If it is, the traffic is forwarded on the shortcut.
The present invention creates a mesh-like topology, permitting traffic to travel through the shortest path in the mesh. This reduces latency for traffic forwarded on the shortcut created through the blocked path. Moreover, overall network performance is improved since traffic is more evenly distributed on network links.